package cn.exrick.xboot.modules.transport.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author gj
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "订单表 实体查询查询")
public class QueryOrdersParam {

    @ApiModelProperty(value = "订单编号")
    private String orderNumber;

    @ApiModelProperty(value = "订单状态，可选值：pendingPayment, placed, accepted, inTransit, transferring, arrived, received, completed, cancelled")
    private String status;

    @ApiModelProperty(value = "订单线路id")
    private Long routeId;

    @ApiModelProperty(value = "节点id")
    private Long nodeId;

    @ApiModelProperty(value = "订单起运地区")
    private Long originRegionId;

    @ApiModelProperty(value = "订单起运地区")
    private String originRegionName;

    @ApiModelProperty(value = "订单目的地地区")
    private Long destinationRegionId;

    @ApiModelProperty(value = "订单目的地地区")
    private String destinationRegionName;

    @ApiModelProperty(value = "大客户id")
    private Long customerId;

    @ApiModelProperty(value = "发单人id")
    private Long senderId;

    @ApiModelProperty(value = "发单人姓名")
    private String senderName;

    @ApiModelProperty(value = "发单人手机号码")
    private String senderPhone;

    @ApiModelProperty(value = "收货人姓名")
    private String receiverName;

    @ApiModelProperty(value = "收货人手机号码")
    private String receiverPhone;

    @ApiModelProperty(value = "订单数量")
    private Integer quantity;

    @ApiModelProperty(value = "订单模式，可选值：SingleUnit, MultiUnit, BigCustomer")
    private String mode;

    @ApiModelProperty(value = "速度评价  fast, medium, slow")
    private String speedLevel;

    //下单时间段的过滤条件
    @ApiModelProperty(value = "下单时间段的开始时间")
    private LocalDateTime orderTimeStart;

    @ApiModelProperty(value = "下单时间段的结束时间")
    private LocalDateTime orderTimeEnd;

    @ApiModelProperty(value = "起始仓点id")
    private Long originWarehouseId;

}